home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48_1 / up_for.men < prev    next >
Internet Message Format  |  1995-03-23  |  4KB

  1. Path: santra!tut!sunic!uupsi!rpi!zaphod.mps.ohio-state.edu!usc!cs.utexas.edu!mailrus!iuvax!rutgers!bellcore!texbell!texsun!newstop!sun!imagen!atari!portal!portal!cup.portal.com!Jake-S
  2. From: Jake-S@cup.portal.com (Jake G Schwartz)
  3. Newsgroups: comp.sys.handhelds
  4. Subject: HP48SX UP function for Built in Menus
  5. Message-ID: <27509@cup.portal.com>
  6. Date: 3 Mar 90 20:27:30 GMT
  7. References: <719@telesoft.com>
  8. Organization: The Portal System (TM)
  9. Lines: 85
  10.  
  11.  
  12.                    HP48 UP Key For Built-In Menus
  13.  
  14.      The folks at HP took a lesson from the 28S and gave us the badly-
  15. needed "UP" function on the HP48 keyboard for moving from a RAM subdirectory
  16. to its parent directory.  However several of the built-in (ROM) menus in the
  17. machine are nested in a tree structure as low as three levels deep.  The
  18. user manual on page 56 advises that one doesn't traverse these like a tree;
  19. one should simply go to the new one.  In many cases, this requires more than
  20. a keystroke or two.
  21.      The HP48 has a function RCLMENU which returns a value containing the
  22. number (in its integer part) and page (in its 2-digit decimal fractional
  23. part) of the currently displayed menu.  (See page 697 of the user manual
  24. for the complete list of numbered menus.)  We may utilize RCLMENU in con-
  25. junction with UPDIR (the programmable version of the keyboard UP function)
  26. to traverse the built-in menu trees as well as the RAM subdirectories.
  27.      Here is a short routine called UP which allows automatic movement from
  28. a RAM or ROM menu to its parent (if one exists), and which is based on a 59-
  29. element list called PARENT.  Element n of the list has the value of the 
  30. menu number and page of the parent corresponding to menu n for menus 1 
  31. through 59.  (Since menu 0 is the LAST menu, it is not considered to be the
  32. current menu for purposes here.)  Note that if the parent menu key leading
  33. to the currently displayed menu is on a page beyond page 1 (such as in the
  34. UNITS submenus which have parents in pages 1 through 3 of the main UNITS
  35. menu), this routine will return to the correct originating page of the
  36. parent.  For menus which do not have a parent, the list element is 0, 
  37. allowing the UP routine to perform a LAST MENU function rather than alter-
  38. nately being a "do nothing" condition.
  39.      IF UP is assigned to the UP keyboard key, its use becomes transparent
  40. when the HP48 is in USER mode.  In the first weeks of calculator use, ROM
  41. menu tree traversal is helpful in order to get a feel for where the 
  42. literally hundreds of functions reside in the machine.
  43.  
  44.                                            Jake Schwartz
  45.                                            135 Saxby Terrace
  46.                                            Cherry Hill, NJ 08003
  47.  
  48.                                            609-751-1310 home
  49.                                            609-866-6268 work
  50.  
  51.  
  52. PARENT   (59-element list)  443 bytes    #755Dh checksum
  53.  
  54. { 0     0     0     3     3     3     3     3     3     0
  55.   10    10    10    10    10    10    0     0     18    0
  56.   0     0     0     0     24    24    24    0     0     29
  57.   0     31    32    0     0     35    35    37    35    0
  58.   40.04 0     42    42    42    42    42    42    42.02 42.02
  59.   40.02 40.02 42.02 42.02 42.03 42.03 42.03 42.03 42 }
  60.  
  61.  
  62. UP   78.5 bytes    #3F92h checksum
  63.  
  64. << PARENT RCLMENU IP DUP
  65.    IF 2 ==
  66.    THEN DROP DROP UPDIR
  67.    ELSE DUP SUB OBJ-> DROP MENU
  68.    END
  69. >>
  70.  
  71.  
  72. Rules:
  73. -----
  74.  
  75. If the current        The action of 
  76. menu is:              UP is:
  77. -----------------------------------
  78. Menu with no          LAST MENU
  79. parent
  80.  
  81. Menu with a           Moves to parent
  82. parent                menu, page of
  83.                       parent key
  84.  
  85. RAM directory         UPDIR
  86.  
  87. Custom Menu           LAST MENU
  88.  
  89. Note: if the current menu is one of the manually-entered unnumbered ones,
  90. RCLMENU returns the value of the last numbered menu that was active.  Thus,
  91. UP will move to the parent of THAT menu.
  92.  
  93.  
  94.  
  95. Jake Schwartz
  96.  
  97.